home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / udp.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  2KB  |  64 lines

  1. /*
  2.  * INET        An implementation of the TCP/IP protocol suite for the LINUX
  3.  *        operating system.  INET is implemented using the  BSD Socket
  4.  *        interface as the means of communication with the user level.
  5.  *
  6.  *        Definitions for the UDP protocol.
  7.  *
  8.  * Version:    @(#)udp.h    1.0.2    04/28/93
  9.  *
  10.  * Author:    Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
  11.  *
  12.  *        This program is free software; you can redistribute it and/or
  13.  *        modify it under the terms of the GNU General Public License
  14.  *        as published by the Free Software Foundation; either version
  15.  *        2 of the License, or (at your option) any later version.
  16.  */
  17. #ifndef _LINUX_UDP_H
  18. #define _LINUX_UDP_H
  19.  
  20. #include <linux/types.h>
  21.  
  22. struct udphdr {
  23.     __u16    source;
  24.     __u16    dest;
  25.     __u16    len;
  26.     __u16    check;
  27. };
  28.  
  29. /* UDP socket options */
  30. #define UDP_CORK    1    /* Never send partially complete segments */
  31. #define UDP_ENCAP    100    /* Set the socket to accept encapsulated packets */
  32.  
  33. /* UDP encapsulation types */
  34. #define UDP_ENCAP_ESPINUDP_NON_IKE    1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
  35. #define UDP_ENCAP_ESPINUDP    2 /* draft-ietf-ipsec-udp-encaps-06 */
  36.  
  37. #ifdef __KERNEL__
  38.  
  39. #include <linux/config.h>
  40. #include <net/sock.h>
  41. #include <linux/ip.h>
  42.  
  43. struct udp_sock {
  44.     /* inet_sock has to be the first member */
  45.     struct inet_sock inet;
  46.     int         pending;    /* Any pending frames ? */
  47.     unsigned int     corkflag;    /* Cork is required */
  48.       __u16         encap_type;    /* Is this an Encapsulation socket? */
  49.     /*
  50.      * Following member retains the infomation to create a UDP header
  51.      * when the socket is uncorked.
  52.      */
  53.     __u16         len;        /* total length of pending frames */
  54. };
  55.  
  56. static inline struct udp_sock *udp_sk(const struct sock *sk)
  57. {
  58.     return (struct udp_sock *)sk;
  59. }
  60.  
  61. #endif
  62.  
  63. #endif    /* _LINUX_UDP_H */
  64.